using System;
using System.Collections.Generic;

namespace Com.ContentRendering.Api.DataEngine.Handler.Self
{
    /// <summary/>
    internal abstract class AbstractSelfHandler
    {
        protected ReflectionCache _reflectionCache;
        protected AbstractSelfHandler _successor;
        protected object _value;

        /// <summary/>
        internal AbstractSelfHandler(
            ReflectionCache reflectionCache,
            object value)
        {
            this._reflectionCache = reflectionCache;
            this._value = value;
        }

        /// <summary/>
        internal AbstractSelfHandler Successor
        {
            set { this._successor = value; }
        }

        /// <summary/>
        internal abstract IEnumerator<object> Parse();
    }
}
